﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;

namespace Intrack
{
    public class BLLFuncionario : IAcessoDB<tbFuncionarios>
    {
        private dbEntidadesMob ed = new dbEntidadesMob();

        public int Salvar(tbFuncionarios reg)
        {

            if (reg.EntityState == EntityState.Detached)
                ed.AddTotbFuncionarios(reg);
            
            ed.SaveChanges();
            return reg.idFuncionario;
        }

        public bool Atualizar(tbFuncionarios reg)
        {
            throw new NotImplementedException();
        }

        public List<tbFuncionarios> Ler(tbFuncionarios reg)
        {
            throw new NotImplementedException();
        }

        public List<tbFuncionarios> Listar()
        {
            IQueryable<tbFuncionarios> cl = ed.tbFuncionarios.AsQueryable();
            return cl.ToList();
        }

        public tbFuncionarios LerPorId(int Id)
        {
            tbFuncionarios cl = ed.tbFuncionarios.First(c => c.idFuncionario == Id);
            return cl;
        }

        public tbFuncionarios LerPorLogin(string strLogin)
        {
            tbFuncionarios cl = ed.tbFuncionarios.FirstOrDefault(c => c.Login == strLogin);
            return cl;
        }

        public bool Excluir(tbFuncionarios reg)
        {
            
              if (reg.EntityState == EntityState.Unchanged)
                ed.DeleteObject(reg);

            ed.SaveChanges();
            return true;
            
        }
    }
}